using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("AdventureClassChallenge")]
	public class AdventureClassChallenge : MonoBehaviour
	{
		[Attribute38("AdventureClassChallenge.ClassChallengeData")]
		public class ClassChallengeData : MonoClass
		{
			public ScenarioDbfRecord scenarioRecord => method_3<ScenarioDbfRecord>("scenarioRecord");

			public bool unlocked => method_2<bool>("unlocked");

			public bool defeated => method_2<bool>("defeated");

			public string heroID0 => method_4("heroID0");

			public string heroID1 => method_4("heroID1");

			public string name => method_4("name");

			public string title => method_4("title");

			public string description => method_4("description");

			public string completedDescription => method_4("completedDescription");

			public string opponentName => method_4("opponentName");

			public ClassChallengeData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public ClassChallengeData(IntPtr address)
				: this(address, "ClassChallengeData")
			{
			}
		}

		[Attribute38("AdventureClassChallenge.HeroLoadData")]
		public class HeroLoadData : MonoClass
		{
			public int heroNum => method_2<int>("heroNum");

			public string heroID => method_4("heroID");

			public FullDef fulldef => method_3<FullDef>("fulldef");

			public HeroLoadData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public HeroLoadData(IntPtr address)
				: this(address, "HeroLoadData")
			{
			}
		}

		public List<float> EMPTY_SLOT_UV_OFFSET => method_3<Class250<float>>("EMPTY_SLOT_UV_OFFSET")?.method_25();

		public static float CHALLENGE_BUTTON_OFFSET => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "AdventureClassChallenge", "CHALLENGE_BUTTON_OFFSET");

		public static int VISIBLE_SLOT_COUNT => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "AdventureClassChallenge", "VISIBLE_SLOT_COUNT");

		public UberText m_ModeName => method_3<UberText>("m_ModeName");

		public GameObject m_ClassChallengeButtonPrefab => method_3<GameObject>("m_ClassChallengeButtonPrefab");

		public Vector3 m_ClassChallengeButtonSpacing => method_2<Vector3>("m_ClassChallengeButtonSpacing");

		public GameObject m_ChallengeButtonContainer => method_3<GameObject>("m_ChallengeButtonContainer");

		public GameObject m_EmptyChallengeButtonSlot => method_3<GameObject>("m_EmptyChallengeButtonSlot");

		public float m_ChallengeButtonHeight => method_2<float>("m_ChallengeButtonHeight");

		public UIBScrollable m_ChallengeButtonScroller => method_3<UIBScrollable>("m_ChallengeButtonScroller");

		public GameObject m_LeftHeroContainer => method_3<GameObject>("m_LeftHeroContainer");

		public GameObject m_RightHeroContainer => method_3<GameObject>("m_RightHeroContainer");

		public UberText m_LeftHeroName => method_3<UberText>("m_LeftHeroName");

		public UberText m_RightHeroName => method_3<UberText>("m_RightHeroName");

		public string m_VersusTextPrefab => method_4("m_VersusTextPrefab");

		public GameObject m_VersusTextContainer => method_3<GameObject>("m_VersusTextContainer");

		public Color m_VersusTextColor => method_2<Color>("m_VersusTextColor");

		public UberText m_ChallengeTitle => method_3<UberText>("m_ChallengeTitle");

		public UberText m_ChallengeDescription => method_3<UberText>("m_ChallengeDescription");

		public PlayButton m_PlayButton => method_3<PlayButton>("m_PlayButton");

		public UIBButton m_BackButton => method_3<UIBButton>("m_BackButton");

		public AdventureClassChallengeChestButton m_ChestButton => method_3<AdventureClassChallengeChestButton>("m_ChestButton");

		public GameObject m_ChestButtonCover => method_3<GameObject>("m_ChestButtonCover");

		public Transform m_RewardBone => method_3<Transform>("m_RewardBone");

		public List<ClassChallengeData> m_ClassChallenges => method_3<Class271<ClassChallengeData>>("m_ClassChallenges")?.method_25();

		public int m_UVoffset => method_2<int>("m_UVoffset");

		public AdventureClassChallengeButton m_SelectedButton => method_3<AdventureClassChallengeButton>("m_SelectedButton");

		public GameObject m_LeftHero => method_3<GameObject>("m_LeftHero");

		public GameObject m_RightHero => method_3<GameObject>("m_RightHero");

		public int m_SelectedScenario => method_2<int>("m_SelectedScenario");

		public bool m_gameDenied => method_2<bool>("m_gameDenied");

		public AdventureClassChallenge(IntPtr address, string className)
			: base(address, className)
		{
		}

		public AdventureClassChallenge(IntPtr address)
			: this(address, "AdventureClassChallenge")
		{
		}

		public static bool OnNavigateBack()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "AdventureClassChallenge", "OnNavigateBack", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void InitModeName()
		{
			method_8("InitModeName");
		}

		public void InitAdventureChallenges()
		{
			method_8("InitAdventureChallenges");
		}

		public int BossCreateParamsSortComparison(ClassChallengeData data1, ClassChallengeData data2)
		{
			return method_11<int>("BossCreateParamsSortComparison", new object[2] { data1, data2 });
		}

		public void ButtonPressed(UIEvent e)
		{
			method_8("ButtonPressed", e);
		}

		public void SetSelectedButton(AdventureClassChallengeButton button)
		{
			method_8("SetSelectedButton", button);
		}

		public void LoadButtonPortrait(AdventureClassChallengeButton button, string heroID)
		{
			method_8("LoadButtonPortrait", button, heroID);
		}

		public void OnButtonFullDefLoaded(string cardId, FullDef fullDef, object userData)
		{
			method_8("OnButtonFullDefLoaded", cardId, fullDef, userData);
		}

		public void SetScenario(int scenarioID)
		{
			method_8("SetScenario", scenarioID);
		}

		public void LoadHero(int heroNum, string heroID)
		{
			method_8("LoadHero", heroNum, heroID);
		}

		public void OnHeroFullDefLoaded(string cardId, FullDef fullDef, object userData)
		{
			method_8("OnHeroFullDefLoaded", cardId, fullDef, userData);
		}

		public void OnActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnActorLoaded", assetRef, go, callbackData);
		}

		public void OnVersusLettersLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnVersusLettersLoaded", assetRef, go, callbackData);
		}

		public void BackButton()
		{
			method_8("BackButton");
		}

		public void Play()
		{
			method_8("Play");
		}

		public bool OnFindGameEvent(FindGameEventData eventData, object userData)
		{
			return method_11<bool>("OnFindGameEvent", new object[2] { eventData, userData });
		}

		public void GetRewardCardForSelectedScenario()
		{
			method_8("GetRewardCardForSelectedScenario");
		}

		public void RewardCardLoaded(Reward reward, object callbackData)
		{
			method_8("RewardCardLoaded", reward, callbackData);
		}

		public void OnBoxTransitionFinished(object userData)
		{
			method_8("OnBoxTransitionFinished", userData);
		}
	}
}
